Lists¶

🎨 Arithmetic Operators¶

In [1]:
7 + 2
Out[1]:
9
In [2]:
7 - 2
Out[2]:
5
In [3]:
7 * 2
Out[3]:
14
In [4]:
7 ** 2
Out[4]:
49

7 ** 2 is $ 7 ^ 2 $

In [5]:
7 / 2
Out[5]:
3.5
In [6]:
7 // 2
Out[6]:
3
In [7]:
7 % 2
Out[7]:
1

$\frac{7}{2} = 3r1$

7 // 2 gives us the $3$

7 % 2 gives us the $1$ (the remainder)

🎨 Comparisons¶

In [8]:
2 > 1
Out[8]:
True
In [9]:
2 > 2
Out[9]:
False
In [10]:
2 <= 2
Out[10]:
True
In [11]:
2 >= 2
Out[11]:
True
In [12]:
4 == 4
Out[12]:
True
In [13]:
4 != 6
Out[13]:
True

🎨 None¶

What is the value of a variable that doesn't have a value?

What does a function return when it doesn't return anything?

In [14]:
def no_return():
    print('This function doesn\'t return anything.')
    

value = no_return()

print(value)
This function doesn't return anything.
None
In [15]:
type(value)
Out[15]:
NoneType

None is what Python uses to communicate nothing.

It's what you use to indicate that you don't have any information.

In [16]:
thing = 8
thing is None
Out[16]:
False
In [17]:
thing = None
thing is None
Out[17]:
True

To determine whether a variable is None, use the is None expression.

In [18]:
thing = 9
thing is not None
Out[18]:
True

To determine whether a variable is not None, use the is not None expression.

🎨 []¶

🖌 .append(...)¶

append: to put after, to place at the end

In [19]:
names = []
while True:
    name = input("Give me a name: ")
    if name == 'q':
        break
    names.append(name)
    print(names)

print(names)
Give me a name: Quinn
['Quinn']
Give me a name: Susan
['Quinn', 'Susan']
Give me a name: Juan
['Quinn', 'Susan', 'Juan']
Give me a name: Janet
['Quinn', 'Susan', 'Juan', 'Janet']
Give me a name: 
['Quinn', 'Susan', 'Juan', 'Janet', '']
Give me a name: q
['Quinn', 'Susan', 'Juan', 'Janet', '']
  • [] creates an empty list
  • .append(...) adds the item to the list
  • you can see the contents by printing the list
    • Note the commas
  • What happens when you enter no names (enter 'q' the first time)?
In [20]:
names = ['Julia', 'Juan', 'George', 'Gina']
print(names)
['Julia', 'Juan', 'George', 'Gina']

You can define a list with initial contents.

In [22]:
names = ['Julia', 'Juan', 'George', 'Gina']
while True:
    name = input("Give me a name: ")
    if name == '':
        break
    names.append(name)
    
print(names)
Give me a name: Charles
Give me a name: 
['Julia', 'Juan', 'George', 'Gina', 'Charles']

You can add to a list that started with contents already.

🎨 len¶

In [23]:
fruit = ['apple', 'peach', 'pear', 'açaí']
how_many = len(fruit)
print(how_many)
4

You can find the length, or size, of a list using the len function.

🖌 for¶

In [24]:
students = ['Julia', 'Juan', 'George', 'Gina', 'Gina']
for name in students:
    print(f"Hello {name}. Welcome to CS 110.")
    print(f"Sit next to {name}.")
Hello Julia. Welcome to CS 110.
Sit next to Julia.
Hello Juan. Welcome to CS 110.
Sit next to Juan.
Hello George. Welcome to CS 110.
Sit next to George.
Hello Gina. Welcome to CS 110.
Sit next to Gina.
Hello Gina. Welcome to CS 110.
Sit next to Gina.

👨🏻‍🎨 Bullet styles¶

Write a program that:

  1. Asks the user for a series of items
  • The user inputs '' (empty string) when they are done
  1. Print the list of items using the following bullets:
  • *
  • -
  • >

bullet_styles.py¶

👩🏽‍🎨 Big and Small¶

Write a program that queries the user for a list of numbers (one number at a time).

Then ask the user what number to use as the boundary between "big" and "small" numbers.

Print "You have {how_many} numbers"

Then print the small numbers with the heading "These are small:"

Then print the bit numbers with the heading "These are big:"

Number: 8
Number: 10
Number: 30
Number: 2
Number: 65
Number: 42
Number: 13
Number: 77
Number: 
Boundary: 20
You have 8 numbers
These are small:
8
10
2
13
These are big:
30
65
42
77

Key Ideas¶

  • Arithmetic operators
  • Lists!
  • []
  • .append(...)
  • len
  • for